W32: Prefer CSD by default
authorРуслан Ижбулатов <lrn1986@gmail.com>
Sun, 27 Dec 2015 03:37:21 +0000 (03:37 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Thu, 3 Mar 2016 07:41:06 +0000 (07:41 +0000)
Will make GTK+ more willing to use CSD for all normal windows without
being asked to. Lack of desktop composition will, of course, prevent
it from using CSD (in theory).

GTK_CSD=0 will force CSD to NOT to be used whenever
possible (i.e. in cases where CSD is not specifically requested
by a window, by design).

https://bugzilla.gnome.org/show_bug.cgi?id=759899

gtk/gtkwindow.c

index b0bf61febbd39c93cb2cc08362ff02330ca5e770..920f60776bf6f409d3ae170f30e1535cdac9caad 100644 (file)
@@ -6023,6 +6023,8 @@ gtk_window_should_use_csd (GtkWindow *window)
   if (priv->type == GTK_WINDOW_POPUP)
     return FALSE;
 
+  csd_env = g_getenv ("GTK_CSD");
+
 #ifdef GDK_WINDOWING_BROADWAY
   if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
     return TRUE;
@@ -6038,7 +6040,11 @@ gtk_window_should_use_csd (GtkWindow *window)
     return TRUE;
 #endif
 
-  csd_env = g_getenv ("GTK_CSD");
+#ifdef GDK_WINDOWING_WIN32
+  if (g_strcmp0 (csd_env, "0") != 0 &&
+      GDK_IS_WIN32_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+    return TRUE;
+#endif
 
   return (g_strcmp0 (csd_env, "1") == 0);
 }